package com.qfedu.mbg.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class MaterialsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MaterialsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMaterialsIdIsNull() {
            addCriterion("materials_id is null");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdIsNotNull() {
            addCriterion("materials_id is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdEqualTo(Integer value) {
            addCriterion("materials_id =", value, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdNotEqualTo(Integer value) {
            addCriterion("materials_id <>", value, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdGreaterThan(Integer value) {
            addCriterion("materials_id >", value, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("materials_id >=", value, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdLessThan(Integer value) {
            addCriterion("materials_id <", value, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdLessThanOrEqualTo(Integer value) {
            addCriterion("materials_id <=", value, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdIn(List<Integer> values) {
            addCriterion("materials_id in", values, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdNotIn(List<Integer> values) {
            addCriterion("materials_id not in", values, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdBetween(Integer value1, Integer value2) {
            addCriterion("materials_id between", value1, value2, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("materials_id not between", value1, value2, "materialsId");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameIsNull() {
            addCriterion("materials_name is null");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameIsNotNull() {
            addCriterion("materials_name is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameEqualTo(String value) {
            addCriterion("materials_name =", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameNotEqualTo(String value) {
            addCriterion("materials_name <>", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameGreaterThan(String value) {
            addCriterion("materials_name >", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameGreaterThanOrEqualTo(String value) {
            addCriterion("materials_name >=", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameLessThan(String value) {
            addCriterion("materials_name <", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameLessThanOrEqualTo(String value) {
            addCriterion("materials_name <=", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameLike(String value) {
            addCriterion("materials_name like", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameNotLike(String value) {
            addCriterion("materials_name not like", value, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameIn(List<String> values) {
            addCriterion("materials_name in", values, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameNotIn(List<String> values) {
            addCriterion("materials_name not in", values, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameBetween(String value1, String value2) {
            addCriterion("materials_name between", value1, value2, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsNameNotBetween(String value1, String value2) {
            addCriterion("materials_name not between", value1, value2, "materialsName");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdIsNull() {
            addCriterion("materials_type_id is null");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdIsNotNull() {
            addCriterion("materials_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdEqualTo(Integer value) {
            addCriterion("materials_type_id =", value, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdNotEqualTo(Integer value) {
            addCriterion("materials_type_id <>", value, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdGreaterThan(Integer value) {
            addCriterion("materials_type_id >", value, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("materials_type_id >=", value, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdLessThan(Integer value) {
            addCriterion("materials_type_id <", value, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("materials_type_id <=", value, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdIn(List<Integer> values) {
            addCriterion("materials_type_id in", values, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdNotIn(List<Integer> values) {
            addCriterion("materials_type_id not in", values, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("materials_type_id between", value1, value2, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andMaterialsTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("materials_type_id not between", value1, value2, "materialsTypeId");
            return (Criteria) this;
        }

        public Criteria andSpecificationIsNull() {
            addCriterion("specification is null");
            return (Criteria) this;
        }

        public Criteria andSpecificationIsNotNull() {
            addCriterion("specification is not null");
            return (Criteria) this;
        }

        public Criteria andSpecificationEqualTo(String value) {
            addCriterion("specification =", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotEqualTo(String value) {
            addCriterion("specification <>", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationGreaterThan(String value) {
            addCriterion("specification >", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationGreaterThanOrEqualTo(String value) {
            addCriterion("specification >=", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationLessThan(String value) {
            addCriterion("specification <", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationLessThanOrEqualTo(String value) {
            addCriterion("specification <=", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationLike(String value) {
            addCriterion("specification like", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotLike(String value) {
            addCriterion("specification not like", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationIn(List<String> values) {
            addCriterion("specification in", values, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotIn(List<String> values) {
            addCriterion("specification not in", values, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationBetween(String value1, String value2) {
            addCriterion("specification between", value1, value2, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotBetween(String value1, String value2) {
            addCriterion("specification not between", value1, value2, "specification");
            return (Criteria) this;
        }

        public Criteria andSizeIsNull() {
            addCriterion("size is null");
            return (Criteria) this;
        }

        public Criteria andSizeIsNotNull() {
            addCriterion("size is not null");
            return (Criteria) this;
        }

        public Criteria andSizeEqualTo(String value) {
            addCriterion("size =", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotEqualTo(String value) {
            addCriterion("size <>", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThan(String value) {
            addCriterion("size >", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeGreaterThanOrEqualTo(String value) {
            addCriterion("size >=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThan(String value) {
            addCriterion("size <", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLessThanOrEqualTo(String value) {
            addCriterion("size <=", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeLike(String value) {
            addCriterion("size like", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotLike(String value) {
            addCriterion("size not like", value, "size");
            return (Criteria) this;
        }

        public Criteria andSizeIn(List<String> values) {
            addCriterion("size in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotIn(List<String> values) {
            addCriterion("size not in", values, "size");
            return (Criteria) this;
        }

        public Criteria andSizeBetween(String value1, String value2) {
            addCriterion("size between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andSizeNotBetween(String value1, String value2) {
            addCriterion("size not between", value1, value2, "size");
            return (Criteria) this;
        }

        public Criteria andTextureIsNull() {
            addCriterion("texture is null");
            return (Criteria) this;
        }

        public Criteria andTextureIsNotNull() {
            addCriterion("texture is not null");
            return (Criteria) this;
        }

        public Criteria andTextureEqualTo(String value) {
            addCriterion("texture =", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureNotEqualTo(String value) {
            addCriterion("texture <>", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureGreaterThan(String value) {
            addCriterion("texture >", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureGreaterThanOrEqualTo(String value) {
            addCriterion("texture >=", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureLessThan(String value) {
            addCriterion("texture <", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureLessThanOrEqualTo(String value) {
            addCriterion("texture <=", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureLike(String value) {
            addCriterion("texture like", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureNotLike(String value) {
            addCriterion("texture not like", value, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureIn(List<String> values) {
            addCriterion("texture in", values, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureNotIn(List<String> values) {
            addCriterion("texture not in", values, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureBetween(String value1, String value2) {
            addCriterion("texture between", value1, value2, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureNotBetween(String value1, String value2) {
            addCriterion("texture not between", value1, value2, "texture");
            return (Criteria) this;
        }

        public Criteria andTextureTypeIsNull() {
            addCriterion("texture_type is null");
            return (Criteria) this;
        }

        public Criteria andTextureTypeIsNotNull() {
            addCriterion("texture_type is not null");
            return (Criteria) this;
        }

        public Criteria andTextureTypeEqualTo(String value) {
            addCriterion("texture_type =", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeNotEqualTo(String value) {
            addCriterion("texture_type <>", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeGreaterThan(String value) {
            addCriterion("texture_type >", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeGreaterThanOrEqualTo(String value) {
            addCriterion("texture_type >=", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeLessThan(String value) {
            addCriterion("texture_type <", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeLessThanOrEqualTo(String value) {
            addCriterion("texture_type <=", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeLike(String value) {
            addCriterion("texture_type like", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeNotLike(String value) {
            addCriterion("texture_type not like", value, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeIn(List<String> values) {
            addCriterion("texture_type in", values, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeNotIn(List<String> values) {
            addCriterion("texture_type not in", values, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeBetween(String value1, String value2) {
            addCriterion("texture_type between", value1, value2, "textureType");
            return (Criteria) this;
        }

        public Criteria andTextureTypeNotBetween(String value1, String value2) {
            addCriterion("texture_type not between", value1, value2, "textureType");
            return (Criteria) this;
        }

        public Criteria andDensityIsNull() {
            addCriterion("density is null");
            return (Criteria) this;
        }

        public Criteria andDensityIsNotNull() {
            addCriterion("density is not null");
            return (Criteria) this;
        }

        public Criteria andDensityEqualTo(String value) {
            addCriterion("density =", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityNotEqualTo(String value) {
            addCriterion("density <>", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityGreaterThan(String value) {
            addCriterion("density >", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityGreaterThanOrEqualTo(String value) {
            addCriterion("density >=", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityLessThan(String value) {
            addCriterion("density <", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityLessThanOrEqualTo(String value) {
            addCriterion("density <=", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityLike(String value) {
            addCriterion("density like", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityNotLike(String value) {
            addCriterion("density not like", value, "density");
            return (Criteria) this;
        }

        public Criteria andDensityIn(List<String> values) {
            addCriterion("density in", values, "density");
            return (Criteria) this;
        }

        public Criteria andDensityNotIn(List<String> values) {
            addCriterion("density not in", values, "density");
            return (Criteria) this;
        }

        public Criteria andDensityBetween(String value1, String value2) {
            addCriterion("density between", value1, value2, "density");
            return (Criteria) this;
        }

        public Criteria andDensityNotBetween(String value1, String value2) {
            addCriterion("density not between", value1, value2, "density");
            return (Criteria) this;
        }

        public Criteria andDiameterIsNull() {
            addCriterion("diameter is null");
            return (Criteria) this;
        }

        public Criteria andDiameterIsNotNull() {
            addCriterion("diameter is not null");
            return (Criteria) this;
        }

        public Criteria andDiameterEqualTo(String value) {
            addCriterion("diameter =", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterNotEqualTo(String value) {
            addCriterion("diameter <>", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterGreaterThan(String value) {
            addCriterion("diameter >", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterGreaterThanOrEqualTo(String value) {
            addCriterion("diameter >=", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterLessThan(String value) {
            addCriterion("diameter <", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterLessThanOrEqualTo(String value) {
            addCriterion("diameter <=", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterLike(String value) {
            addCriterion("diameter like", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterNotLike(String value) {
            addCriterion("diameter not like", value, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterIn(List<String> values) {
            addCriterion("diameter in", values, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterNotIn(List<String> values) {
            addCriterion("diameter not in", values, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterBetween(String value1, String value2) {
            addCriterion("diameter between", value1, value2, "diameter");
            return (Criteria) this;
        }

        public Criteria andDiameterNotBetween(String value1, String value2) {
            addCriterion("diameter not between", value1, value2, "diameter");
            return (Criteria) this;
        }

        public Criteria andLengthIsNull() {
            addCriterion("length is null");
            return (Criteria) this;
        }

        public Criteria andLengthIsNotNull() {
            addCriterion("length is not null");
            return (Criteria) this;
        }

        public Criteria andLengthEqualTo(String value) {
            addCriterion("length =", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotEqualTo(String value) {
            addCriterion("length <>", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthGreaterThan(String value) {
            addCriterion("length >", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthGreaterThanOrEqualTo(String value) {
            addCriterion("length >=", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthLessThan(String value) {
            addCriterion("length <", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthLessThanOrEqualTo(String value) {
            addCriterion("length <=", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthLike(String value) {
            addCriterion("length like", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotLike(String value) {
            addCriterion("length not like", value, "length");
            return (Criteria) this;
        }

        public Criteria andLengthIn(List<String> values) {
            addCriterion("length in", values, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotIn(List<String> values) {
            addCriterion("length not in", values, "length");
            return (Criteria) this;
        }

        public Criteria andLengthBetween(String value1, String value2) {
            addCriterion("length between", value1, value2, "length");
            return (Criteria) this;
        }

        public Criteria andLengthNotBetween(String value1, String value2) {
            addCriterion("length not between", value1, value2, "length");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("unit not between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitWeightIsNull() {
            addCriterion("unit_weight is null");
            return (Criteria) this;
        }

        public Criteria andUnitWeightIsNotNull() {
            addCriterion("unit_weight is not null");
            return (Criteria) this;
        }

        public Criteria andUnitWeightEqualTo(String value) {
            addCriterion("unit_weight =", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightNotEqualTo(String value) {
            addCriterion("unit_weight <>", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightGreaterThan(String value) {
            addCriterion("unit_weight >", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightGreaterThanOrEqualTo(String value) {
            addCriterion("unit_weight >=", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightLessThan(String value) {
            addCriterion("unit_weight <", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightLessThanOrEqualTo(String value) {
            addCriterion("unit_weight <=", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightLike(String value) {
            addCriterion("unit_weight like", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightNotLike(String value) {
            addCriterion("unit_weight not like", value, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightIn(List<String> values) {
            addCriterion("unit_weight in", values, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightNotIn(List<String> values) {
            addCriterion("unit_weight not in", values, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightBetween(String value1, String value2) {
            addCriterion("unit_weight between", value1, value2, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitWeightNotBetween(String value1, String value2) {
            addCriterion("unit_weight not between", value1, value2, "unitWeight");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIsNull() {
            addCriterion("unit_price is null");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIsNotNull() {
            addCriterion("unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andUnitPriceEqualTo(BigDecimal value) {
            addCriterion("unit_price =", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("unit_price <>", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("unit_price >", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("unit_price >=", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceLessThan(BigDecimal value) {
            addCriterion("unit_price <", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("unit_price <=", value, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceIn(List<BigDecimal> values) {
            addCriterion("unit_price in", values, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("unit_price not in", values, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unit_price between", value1, value2, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("unit_price not between", value1, value2, "unitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceIsNull() {
            addCriterion("substrate_unit_price is null");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceIsNotNull() {
            addCriterion("substrate_unit_price is not null");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceEqualTo(BigDecimal value) {
            addCriterion("substrate_unit_price =", value, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceNotEqualTo(BigDecimal value) {
            addCriterion("substrate_unit_price <>", value, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceGreaterThan(BigDecimal value) {
            addCriterion("substrate_unit_price >", value, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("substrate_unit_price >=", value, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceLessThan(BigDecimal value) {
            addCriterion("substrate_unit_price <", value, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("substrate_unit_price <=", value, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceIn(List<BigDecimal> values) {
            addCriterion("substrate_unit_price in", values, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceNotIn(List<BigDecimal> values) {
            addCriterion("substrate_unit_price not in", values, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("substrate_unit_price between", value1, value2, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andSubstrateUnitPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("substrate_unit_price not between", value1, value2, "substrateUnitPrice");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesIsNull() {
            addCriterion("processing_charges is null");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesIsNotNull() {
            addCriterion("processing_charges is not null");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesEqualTo(BigDecimal value) {
            addCriterion("processing_charges =", value, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesNotEqualTo(BigDecimal value) {
            addCriterion("processing_charges <>", value, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesGreaterThan(BigDecimal value) {
            addCriterion("processing_charges >", value, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("processing_charges >=", value, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesLessThan(BigDecimal value) {
            addCriterion("processing_charges <", value, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesLessThanOrEqualTo(BigDecimal value) {
            addCriterion("processing_charges <=", value, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesIn(List<BigDecimal> values) {
            addCriterion("processing_charges in", values, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesNotIn(List<BigDecimal> values) {
            addCriterion("processing_charges not in", values, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("processing_charges between", value1, value2, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andProcessingChargesNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("processing_charges not between", value1, value2, "processingCharges");
            return (Criteria) this;
        }

        public Criteria andEnableIsNull() {
            addCriterion("enable is null");
            return (Criteria) this;
        }

        public Criteria andEnableIsNotNull() {
            addCriterion("enable is not null");
            return (Criteria) this;
        }

        public Criteria andEnableEqualTo(String value) {
            addCriterion("enable =", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotEqualTo(String value) {
            addCriterion("enable <>", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableGreaterThan(String value) {
            addCriterion("enable >", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableGreaterThanOrEqualTo(String value) {
            addCriterion("enable >=", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableLessThan(String value) {
            addCriterion("enable <", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableLessThanOrEqualTo(String value) {
            addCriterion("enable <=", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableLike(String value) {
            addCriterion("enable like", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotLike(String value) {
            addCriterion("enable not like", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableIn(List<String> values) {
            addCriterion("enable in", values, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotIn(List<String> values) {
            addCriterion("enable not in", values, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableBetween(String value1, String value2) {
            addCriterion("enable between", value1, value2, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotBetween(String value1, String value2) {
            addCriterion("enable not between", value1, value2, "enable");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}